#pragma once
#include"rbtree.h"

template <class K>
class set
{
public:
	struct SetKeyOfT
	{
		const K& operator()(const K& k)
		{
			return k;
		}
	};
	typedef typename RBTree<K, K, SetKeyOfT>::iterator iterator;

	iterator begin() { return _t.begin(); }
	iterator end() { return _t.end(); }
	pair<iterator, bool> insert(const K& k) { return _t.Insert(k); }
	iterator find(const K& k) { return _t.Find(k); }

private:
	RBTree<K, K, SetKeyOfT>_t;
};